home *** CD-ROM | disk | FTP | other *** search
- ⁄ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒø
- ≥ € € € €€€€€€€ € €€€€€€€ √ƒø
- ≥ € € € € € € € ≥ ≥
- ≥ € € € €€€€€€ € €€€€€€€ ≥ ≥
- ≥ €€€€€€€ € € € € € ≥ ≥
- ≥ € € € € € € € ≥ ≥
- ≥ €€€€€€€ €€€€€€€€ € €€€€€€€ € ≥ ≥
- ≥ ≥ ≥
- ≥ README.TXT ≥ ≥
- ≥ For the dUFLP LIBRARY Files (attached) ≥ ≥
- ≥ (dUFLP = dBASE Users' Function Library Project) ≥ ≥
- ≥ Version 2.11 ≥ ≥
- ≥ 12/15/1993 ≥ ≥
- ¿ƒ¬ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ ≥
- ¿ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒŸ
-
- **************************
- **************************
- ******* IMPORTANT! *******
- **************************
- **************************
- See NEWS.TXT as well as the normal WHATS.NEW file!!!
-
- Also please note that the listing of all routines is now in INDEX.TXT.
-
- This library system is freeware (no charge). This file (README.TXT) is
- a small amount of description for the attached procedure files. I have
- spent many hours compiling functions and procedures that I have found
- useful. Some of these (a few) are ones I have written myself, many are
- ones I have incorporated here from a variety of sources, usually the
- dBASE Forum on Compuserve, or the old Borland (once Ashton-Tate)
- Bulletin Board (BORBBS). There were a lot of good people using this
- board, both as sysops/sigops, and as users, and I have learned alot
- about dBASE IV Programming from these people. These days I get most of
- my the routines from either Compuserve (dBASE forum: GO DBASE), or
- from the USSBBS (see below).
-
- *****************************************************************
- *****************************************************************
- *********** CONTRIBUTORS TO THE LIBRARY *************************
- *****************************************************************
- *****************************************************************
- Please read CONTRIB.TXT and DHUNG2.TXT for details. This is
- very important to all of us. Thank you.
-
-
- *****************************************************************
- ********************** DISTRIBUTION *****************************
- *****************************************************************
- All procedures/functions in PROC.PRG and accompanying files are public
- domain. We ask that if you use them (or in this PROC file) with your
- systems, that you include in your source code ALL the documentation,
- including (ESPECIALLY) the name of the programmer (Credit should go
- where it's due, after all).
-
-
- *****************************************************************
- ***************** HOW TO REACH THE LIBRARIAN ********************
- *****************************************************************
- This is a set of dynamic files -- they're always changing. Please feel
- free to send me comments and/or suggestions on ways to better it (which
- includes both new functions and procedures, and suggestions to make the
- ones here better). I can be reached on Electronic Services:
-
- USSBBS: KenMayer
- (USSBBS -- Unofficial Software Support BBS -- run by the former
- SYSOP of the now defunct BORBBS, Roger Wegehoft, can be accessed
- at: (408) 464-0350) )
- CompuServe: 71333,1030
-
- ==========
- DISCLAIMER
- ==========
- No guarantees are given. Last attempted, all these routines worked. We
- take no responsibility for their use, particularly if something happens
- to your data.
-
- ========
- PROBLEMS
- ========
- Problems with individual procedures and functions should be addressed,
- if possible, to the author (note the 'Programmer' listed in the first
- line of the internal documentation for each routine). If you cannot
- reach them, contact the librarian at their id on CompuServe
- and they will see what they can do.
-
- ============
- INSTRUCTIONS
- ============
- ---------------------------------------------
- dBASE IV, version 1.5 and later version users
- ---------------------------------------------
- In order to use these, you need to understand (and this is brief) how
- dBASE IV, version 1.5 (and later) uses functions and libraries.
- Basically, it follows a 'search path' based on your programs and files,
- as well as its own internal functions. dBASE starts at the top of the
- following list, and if it cannot find the function or procedure named
- in your program, it goes to the next item in the list until it either
- finds it, or doesn't find it, as the case may be. If not, you will get
- the dBASE error message about not finding a function.
-
- 1) dBASE INTERNAL FUNCTIONS AND COMMANDS
- 2) SYSPROC = "System Procedure Filename" (set in CONFIG.DB)
- 3) Current Program (the one executing at that time)
- 4) SET PROCEDURE TO <proc name>
- 5) Calling Program (a main menu program, for example)
- 6) SET LIBRARY TO <library name>
-
- To use these files in dBASE IV, version 1.5 (and later), you should use
- something along the following lines as a layout:
-
- For any procedures/functions that are required specifically for
- your system, and no other, place those in your own procedure file,
- and refer to that in the SYSPROC command in your CONFIG.DB file.
- Example: SYSPROC = MYPROC
-
- To use the 'standard' library file for this system, in your main
- program (by 'main program' we could be discussing a MENU program,
- or other front-end program) put the command:
-
- SET PROCEDURE TO PROC && or point to the appropriate directory
-
- And in the appropriate programs, or where needed,
-
- SET LIBRARY TO <library file> && based on those below
-
- This is just one method of handling this. One thing that can make life
- easier, if you switch LIBRARY files a lot, is the dBASE IV, 1.5 (and
- later) option to the SET function: SET("LIBRARY"). This can be used in
- the following manner:
-
- cLibrary = set("LIBRARY") && save current library name
- set library to NEWLIB && set new one
- *-- do function/procedure calls from new library
- set library to &cLibrary. && return to previous library file
-
- OR you could use the function in PROC.PRG, called SwitchLib():
-
- cOldLib = switchlib("FILES")
- *-- execute function/procedure
- cOldLib = switchlib(cOldLib)
-
- SUGGESTION: If you store your copy of the LIBRARY files (and PROC) in
- another directory on the drive, you might want to define a public memvar
- called something like: c_LibPath and store the path in in. This way you
- can use that with your routines to call the libraries. Something along
- the following could be useful:
-
- PUBLIC c_LibPath
- Store "C:\DBFILES\PROC\" to c_LibPath
- *-- processing
- cOldLib = SwitchLib("&c_LibPath.FILES") && send with path, as well as
- && filename
- *-- execute function/procedure
- cOldLib = SwitchLib(cOldLib) && should return path
-
- This will make it easier to update if you are setting this up for a
- client -- you can change the c_LibPath variable in the setup or menu
- program ONCE, and not have to worry about it again.
-
- NOTE: that in some of the library files there are functions which
- require the use of functions in OTHER files (i.e., some functions in
- NAVIGATE use some functions that are in TRIG). I have attempted to
- ensure that I have copied INTO those library files the appropriate
- functions, so you don't spend too much time tearing your hair out.
-
- -------------------
- dBASE IV, 1.1 Users
- -------------------
- To use these procedure files in their entirety, use the DOS Copy
- command to concatenate the library files to the PROC file. Something
- along the following lines (although you should check to make sure you
- have all the files):
-
- COPY PROC.PRG+SCREEN.PRG+COLOR.PRG+TRIG.PRG+CONVERT.PRG+ <etc.>
-
- You should note that in some of the library files, there are duplicated
- functions used, due to the fact that some users in 1.5 (and later)
- might wish to only use one or two of the library files. You can also use
- just the individual library files in your SET PROCEDURE command, if you
- wish. Add to your programs (a menu or startup routine is one of the best
- places) the line:
-
- SET PROCEDURE TO PROC
-
- To use individual routines, rather than the whole library, extract them
- using your favorite ASCII editor, or remove the routines from this file
- (you might want to copy it first) that you do not feel you will need.
-
- ---------------------------------------
- Another Method to Set Up These Routines
- ---------------------------------------
- I recently came across a user who told me she has a directory for each
- of the Library Files, and extracts the routines into the directory, so
- that each of them resides in its own .PRG file. She can then incorporate
- just the routines she needs into her programs, or procedure file,
- without searching for them each time. If you have the disk space, this
- sounds like a smart way to go.
-
- ========================================================================
- WHAT'S HERE?
- ========================================================================
-
- Some of the places routines are placed may seem a bit arbitrary -- they
- are. These decisions were made based on the functions/procedures used
- by the original librarian (Ken Mayer) in most of his own routines.
- Since the original purpose of this library was for his use, he felt it
- his prerogative to be the one to make the final decision as to what
- routines were left in PROC.PRG, and which got moved to the LIBRARY
- files.
-
- Included in this LIBRARY System are the following files:
-
- Text Files
- README.TXT -- You're looking at it.
- INDEX.TXT -- A summary of the routines in the library.
- WHATS.NEW -- This is a description of the new features for this
- system.
- NEWS.TXT -- VITAL NEW INFORMATION ABOUT CHANGES TO THE LIBRARY!
- CONTRIB.TXT -- How to contribute to the Library Project.
- JPMOUSE.TXT -- An explanation from Jay on the JPMOUSE.BIN file,
- attached (with his permission). See also the function
- ISMOUSE() and procedure file SETMOUSE in OBSOLETE.PRG.
- DISK.TXT -- A very brief discussion on the use of DISK.BIN.
- ISDISK.TXT -- Brief discussion of ISDISK.BIN (which can be used
- to replace DISK.BIN).
- SEARCH.TXT -- A very brief discussion on the use of SEARCH.BIN.
- USERID.TXT -- A very brief discussion on the use of USERID.BIN.
- PRINTSCR.TXT -- Discussion on the use of PRINTSCR.BIN.
- SCREEN.TXT -- Discussion on the use of SCREEN.BIN.
- VDCURSOR.TXT -- A very brief discussion on the use of VDCURSOR.BIN.
- MUSCLICK.TXT -- Discussion on the use of MUSCLICK.BIN from the .ASM file
- DHUNG2.TXT -- A copy of the Hungarian Notation for dBASE by di Falco,
- modified for the dBASE User's Function Library Project.
- SHANA.TXT -- A description of the hows and whys for the Hebrew Date
- routines in DATES.PRG.
- VOLNUM.TXT -- A description on the use of VOLNUM.BIN.
- WPMERGE.TXT -- A description on how to use the WPMERGE?.PR2 files,
- and the WPMRGDEM.PRG/WPMRGDEM.WPD files.
-
- Procedure and Library Files -- Described Below
- ARRAY.PRG -- Array handling functions
- COLOR.PRG -- Functions that work with/affect colors
- CONVERT.PRG -- Conversion from one type to another (decimal to hex, for
- example)
- DATES.PRG -- Many routines for processing dates, holidays, etc.
- DIALOGS.PRG -- Dialog box routines.
- ERRLOG.PRG -- Error Log -- useful for programmers when a system
- crashes -- creates a log file, and on a LAN can send a
- message to the programmer.
- FIELDS.PRG -- Field processing routines.
- FILES.PRG -- File handling routines, includes low-level file i/o
- functions.
- FINANCE.PRG -- Financial UDFs.
- FRPG.PRG -- Fantasy Role-Playing Game routines ...
- HELPROC.PRG -- Programmer defined help routines.
- LISTFILE.PRG -- List an ASCII text file on screen, disallows editing ...
- MEASURE.PRG -- Measurements ...
- MISC.PRG -- Routines that don't really seem to belong in any of the
- other library files.
- NAVIGATE.PRG -- Navigation routines.
- OBSOLETE.PRG -- UDFs and Functions that have been made obsolete for a
- variety of reasons (usually updates to the software).
- PICKLIST.PRG -- Picklists and Popup routines.
- PROC.PRG -- Main PROCEDURE file.
- SCA.PRG -- A few routines developed for the Society for Creative
- Anachronism ...
- SCREEN.PRG -- Screen handling routines.
- STATS.PRG -- Statistics udfs and procedures.
- STRINGS.PRG -- Character string manipulation routines.
- TIME.PRG -- Time processing udfs.
- TRIG.PRG -- Trigonometry, anyone?
- WINDOWS.PRG -- Some routines that can give your applications a
- windows-like appearance.
- WPMRGDEM.PRG -- A WordPerfect Merge demo program, to show how to use
- the WPMERGE?.PR2 files.
-
- BIN Files -- used in routines attached (see text files above).
- DISK.BIN -- Is a valid disk in the drive?
- JPMOUSE.BIN -- Mouse handling routine
- MUSCLICK.BIN -- Related to above ...
- PRINTSCR.BIN -- Print screen to a printer
- SCREEN.BIN -- Print screen to a file
- SEARCH.BIN -- Search
- USERID.BIN -- Get LAN userid
- OX.SYS -- Switch monitors ...
- VDCURSOR.BIN -- Absolute cursor position on screen.
- VOLNUM.BIN -- Get volume number from a disk.
- WPMERGE.PR2 -- WordPerfect Merge printer driver.
- WPMERGEB.PR2 -- WordPerfect Merge printer driver with Bold support.
- WPMRGDEM.WPD -- Demo Primary Document for WordPerfect Merge demo
- program (WPMRGDEM.PRG)
-
- DBF Files -- used in routines attached.
- HELPER.DBF
- MAKEHOLS.DBF
-
- OTHER Files -- used in routines attached.
- HELPER.FMT
- HELPER.FMO
-
- ------------------------------------------------------------------------
- END OF README.TXT
- ------------------------------------------------------------------------